from sqlalchemy import create_engine  # 导入创建数据库引擎的模块
from sqlalchemy.ext.declarative import declarative_base  # 导入声明式基类
from sqlalchemy.orm import sessionmaker  # 导入会话工厂模块

# 这个文件是数据库的连接配置文件 SQLAlchemy 部件

# 设置数据库连接URL
SQLALCHEMY_DATABASE_URL = "sqlite:///./sql_app.db"
# SQLALCHEMY_DATABASE_URL = "postgresql://user:password@postgresserver/db"

# 创建数据库引擎
engine = create_engine(
    SQLALCHEMY_DATABASE_URL,  # 数据库连接URL
    connect_args={"check_same_thread": False}  # 连接参数，SQLite特定
)

# 创建会话工厂
SessionLocal = sessionmaker(
    autocommit=False,  # 自动提交False
    autoflush=False,  # 自动刷新False
    bind=engine  # 绑定数据库引擎
)

# 创建声明式基类
Base = declarative_base()
